package com.example.wxCode.service;

import com.example.wxCode.utils.wx.AccessTokenUtil;
import com.example.wxCode.utils.wx.WxacodeApiUtil;
import com.example.wxCode.utils.wx.parameter.WXCodeLimit;
import com.example.wxCode.utils.wx.parameter.WXCodeunlimit;
import com.example.wxCode.utils.wx.parameter.WXQRCodeLimit;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @Description 服务层
 * @Author zengzerui
 * @Date 2025/4/15
 */
@Slf4j
@Service
public class WXQRService {
    @Autowired
    private AccessTokenUtil accessTokenUtil;

    public String getUnlimitCode() {
        WXCodeunlimit wxacodeunlimit = new WXCodeunlimit();
        String scene = String.format("aff:%s_%s", "123","abc");
        wxacodeunlimit.setScene(scene);
        wxacodeunlimit.setPage("pages/hello/hello");
        wxacodeunlimit.setEnv_version("develop");
        wxacodeunlimit.setAuto_color(true);
        wxacodeunlimit.setCheck_path(false);
        log.info("wxacodeunlimit = {}", wxacodeunlimit);
        String accesToken = accessTokenUtil.getAccessToken();
        String code = WxacodeApiUtil.getUnlimited(accesToken, wxacodeunlimit);
        System.out.println(accesToken);
        return code;
    }

    public String getLimitCode() {
        WXCodeLimit wxCodeLimit = new WXCodeLimit();
        wxCodeLimit.setPath("pages/hello/hello");
        wxCodeLimit.setEnv_version("develop");
        wxCodeLimit.setAuto_color(true);
        log.info("wxCodeLimit = {}", wxCodeLimit);
        String accesToken = accessTokenUtil.getAccessToken();
        String code = WxacodeApiUtil.getCodelimited(accesToken, wxCodeLimit);
        System.out.println(accesToken);
        return code;
    }

    public String getQRLimitCode() {
        WXQRCodeLimit wxqrcodelimit = new WXQRCodeLimit();
        wxqrcodelimit.setPath("pages/hello/hello");
        log.info("wxacodeunlimit = {}", wxqrcodelimit);
        String accesToken = accessTokenUtil.getAccessToken();
        String code = WxacodeApiUtil.getQRCodelimited(accesToken, wxqrcodelimit);
        System.out.println(accesToken);
        return code;
    }


}
